This invention relates to predicting user actions in online systems, for example, social networking systems, and in particular to generation of customized predictors for user actions in online systems.
Online systems typically present information useful to users and allow users to interact with the online system. Online systems may use techniques to determine information that is likely to be of interest to a user before presenting the information to the user. Users are more likely to visit the online system regularly if they are presented with information they like. Online systems often earn revenue from advertisements. Advertisers prefer to advertise in online systems that are regularly visited by their users. Therefore, user loyalty may determine revenues generated using an online system. As a result, the ability of an online system to present interesting information to users typically affects the revenue earned by the online system.
Some systems determine information relevant to individual users using machine learning techniques to predict user actions. For example, if a machine learning model predicts that a user is likely to view certain content, the online system may select the content for presentation to the user instead of other content. On the other hand, if the machine learning model predicts that the user is not likely to be interested in certain information, the online system may select some other information for presenting to the user.
However, developing machine learning models requires significant effort by developers of online systems. Typically developers of machine learning models specify the machine learning technique to be used, various features relevant to the machine learning model, and provide training data for training the machine learning model. In a complex online system, developers may not be aware of the impact of various features on a predictor model. Often, developers may not even be aware of all possible features that are available in the complex system that can be used in the model. Furthermore, the impact of various features on a model can change over time. A new development in technology may affect the impact of various features on a model in unpredictable ways. For example, the users of a system may act differently if a new type of mobile technology was available, even though the new technology was not developed in conjunction with the online system. The changes in the user behavior can change the effect of various features on the model. This makes it is difficult for developers of machine learning models to develop and maintain the models, while taking into consideration all possible aspects of their own online system as well as external factors that could affect the model. As a result, conventional techniques put significant burden on the developers of machine learning models.